<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>事件</title>
    <script src="../static/js/vue.js"></script>
</head>

<body>
<h3>示例：事件</h3>
<p>
    <a href="https://cn.vuejs.org/v2/guide/events.html" target="_blank">键盘事件和按键</a>
</p>
<div id="example-1">
    <button v-on:click="counter += 1">Add 1,click中直接JS</button>
    <p>The button above has been clicked {{ counter }} times.</p>
</div>
<div id="example-2">
    <!-- `greet` 是在下面定义的方法名 -->
    <button v-on:click="greet">方法调用</button>
    <button v-on:click="say('hi')">Say hi方法传参</button>
    <button v-on:click="say('what')">Say what方法传参</button>
    <button v-on:click="warn('Form cannot be submitted.', $event)">
        原生事件对象
    </button>
</div>
<script>
    var example1 = new Vue({
        el: '#example-1',
        data: {
            counter: 0
        }
    })
    var example2 = new Vue({
        el: '#example-2',
        data: {
            name: 'Vue.js'
        },
        // 在 `methods` 对象中定义方法
        methods: {
            greet: function (event) {
                // `this` 在方法里指向当前 Vue 实例
                alert('Hello ' + this.name + '!')
                // `event` 是原生 DOM 事件
                if (event) {
                    alert(event.target.tagName)
                }
            },
            say: function (message) {
                alert(message)
            },
            warn: function (message, event) {
                // 现在我们可以访问原生事件对象
                if (event) {
                    event.preventDefault()
                }
                alert(message)
            }
        }
    })
    // 也可以用 JavaScript 直接调用方法
    example2.greet() // => 'Hello Vue.js!'

</script>
</body>
</html>
